package com.wigem.fa.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wigem.approve.entity.DaqPolicyEntity;
import com.wigem.approve.vo.DaqPolicyVo;
import com.wigem.fa.dto.ApplyAndEntInfoDto;
import com.wigem.fa.dto.ApplySummaryDto;
import com.wigem.fa.entity.FaApplyEntInfoValidateEntity;
import com.wigem.framework.mybatis.core.mapper.BaseMapperX;
import com.wigem.module.general.entity.AssistNoticeEntity;
import com.wigem.module.general.vo.AssistNoticeVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;

import com.wigem.fa.vo.FaApplyVo;
import com.wigem.fa.entity.FaApplyEntity;
import org.apache.ibatis.annotations.Param;

/**
 * 企业申报Mapper接口
 *
 * @author DH
 * @date 2024-10-20
 */
@Mapper
public interface FaApplyMapper extends BaseMapperX<FaApplyEntity> {

    IPage<FaApplyEntity> getPageList(IPage<FaApplyEntity> page, @Param("params") FaApplyVo faApplyVo);
    IPage<AssistNoticeEntity> getNoticePageList(IPage<AssistNoticeEntity> page, @Param("params") AssistNoticeVo vo);

    IPage<ApplyAndEntInfoDto> getManagePageList(IPage<ApplyAndEntInfoDto> page, @Param("params") FaApplyVo faApplyVo);

    IPage<ApplyAndEntInfoDto> getStagePageList(IPage<ApplyAndEntInfoDto> page, @Param("params") FaApplyVo faApplyVo);

    IPage<ApplySummaryDto> getSummaryPageList(IPage<ApplySummaryDto> page, @Param("params") FaApplyVo faApplyVo);

    ApplySummaryDto getTotalRow(@Param("params") FaApplyVo faApplyVo);
    /**
     * 查询FaApply列表
     */
    List<FaApplyEntity> getList(FaApplyVo faApplyVo);
    List<FaApplyEntity> getEnterpriseSamePolicyType(FaApplyVo faApplyVo);

    /**
     * 查询FaApply实体
     */
    FaApplyEntity getEntity(String id);

    FaApplyEntity queryDto(FaApplyVo faApplyVo);

    FaApplyEntInfoValidateEntity getFaApplyAndEntInfoList(FaApplyVo faApplyVo);

    /**
     * FaApply新增
     */
    int insert(FaApplyEntity faApplyentity);

    /**
     * FaApply修改
     */
    int update(FaApplyEntity faApplyentity);

    /**
     * FaApply删除
     */
    int delete(String id);


    /**
     * FaApply移除
     */
    int remove(String id);
}
